require "csv"
require 'tempfile'
class ImportacionesController < ApplicationController

  #MODULE: Utilitarios

  # GET /importaciones
  # GET /importaciones.xml
  def index
  end

  # GET /importaciones/1
  # GET /importaciones/1.xml
  def show
    @importacion = Importacion.find(params[:id])
    if @importacion.modelo
      @datos=@importacion.modelo.modelo.constantize.find(:all,:conditions=>{:importacion_id=>@importacion.id})
    end
    respond_to do |format|
      format.html # show.html.erb
      format.xml  { render :xml => @importacion }
    end
  end

  # POST /importaciones
  # POST /importaciones.xml
  def new
    if request.method == :post && params[:importar][:archivo]
      @modelo = Modelo.find(params[:importar][:modelo_id])

      importacion = Importacion.importar(@modelo, params[:importar][:archivo])
      @agregados = importacion.agregados
      @descartados = importacion.descartados
      @importados = importacion.importados
      @errores = importacion.errores
    end #if post?
  end

  # DELETE /importaciones/1
  # DELETE /importaciones/1.xml
  def destroy
    @importacion = Importacion.find(params[:id])
    @importacion.destroy

    respond_to do |format|
      format.html { redirect_to(importaciones_url) }
      format.xml  { head :ok }
    end
  end

  def datos #IGNORE
    #Parametros
    registros, count = find_by_params(params, :class => Importacion)

    # Construct a hash from the ActiveRecord result
    return_data = Hash.new()
    return_data[:page] = params[:page]
    return_data[:total] = (count.to_f / params[:rows].to_i).ceil
    return_data[:records] = count

    return_data[:rows] = registros.collect{|u| {:id=>u.id,
        :cell=>[
          u.nombre,
          l(u.created_at, :format => :short)
        ]}}

    # Convert the hash to a json object
    render :text=>return_data.to_json, :layout=>false
  end

end
